import http from '../utils/httpInstance'

// 通过账号密码登录
// object 类型用于表示非原始类型。在 JavaScript 中以下类型被视为原始类型：`string`、`boolean`、`number`、`bigint`、`symbol`、`null` 和 `undefined`。
// object 类型表示除上述原始类型以外的非原始类型， 使用这种类型，我们不能访问值的未定义的任何属性。
export function serviceLogin(data: object) {
  return http.post('/passport/local', data)
}

// 通过token登录
export function serviceLoginByToken(token: string) {
  return http.get('/accessToken', {
    params: { token },
  })
}

// 退出登录
export function serviceLogout() {
  return http.get('/logout')
}

// 更新用户信息
export function serviceUpdateUser(data: object) {
  return http.post('/user/update', data, {
    headers: { successAlert: true },
  })
}

// 获取用户配置信息
export function serviceGetUserConfig() {
  return http.get('/userConfig')
}

// 更新用户配置信息
export function serviceUpdateUserConfig(data: object) {
  return http.put('/userConfig', data, {
    headers: {
      successAlert: true,
    },
  })
}
